1. Field of the Invention
The present invention relates to information processing apparatuses, information processing methods, recording media, and programs, and more particularly, to an information processing apparatus, an information processing method, a recording medium, and a program suitable for editing variable-bit-rate (VBR) compressed image data.
2. Description of the Related Art
Processing for performing editing by splicing two pieces of compressed image data at a predetermined editing point will be described with reference to FIG. 1.
Portions of compressed image data 1 and 2 near an editing point are decoded, and uncompressed image signals 1 and 2 are obtained. The uncompressed image signals 1 and 2 are spliced together at the editing point. An effect is applied near the editing point according to need, and re-encoding is performed. The re-encoded compressed image data is spliced with compressed image data that is not decoded or re-encoded (that is, compressed image data in areas other than the decoded portions near the editing point).
The method described with reference to FIG. 1 has advantages in that deterioration of image quality due to re-encoding can be locally suppressed and an editing processing time can be significantly reduced, compared with a method for acquiring edited compressed image data by decoding all the compressed image data to be edited, splicing image signals together at an editing point, and re-encoding all the image signals.
In addition, in generation of compressed images (encoding), which is typified by a Moving Picture Experts Group (MPEG) technology, it is necessary to control the amount of generated code on the basis of a virtual decoder model called a video buffering verifier (VBV) buffer such that the VBV buffer does not overflow or underflow. If the VBV buffer does not perform a normal operation, a buffer in a receiving decoder underflows, and image quality is deteriorated due to data missing.
For multiple streams defined by the MPEG 2 system, a layer immediately below each of a transport stream and a program stream is a packetized elementary stream (PES). The header of a PES packet includes information on a control signal for performing scrambling for each packet and cyclic redundancy check (CRC) for error detection, as well as a presentation time stamp (PTS) providing an audio/video presentation time and a decoding time stamp (DTS) providing a decoding start time.
An encoder is capable of controlling the occupancy of a buffer in accordance with a DTS, a PTS, and a remaining buffer amount, irrespective of whether or not a stream includes vbv_delay information. However, when the encoder handles a VBR-compressed elementary stream (ES) not involving time information, the value of vbv_delay is fixed at the maximum value. Thus, the encoder is not capable of knowing the occupancy of the buffer. Therefore, the encoder is not capable of determining the occupancy of the buffer only from information on a frame to be encoded.
Thus, when editing is performed by decoding only a portion near an editing point and by performing re-encoding after splicing, as described with reference to FIG. 1,it is difficult to maintain continuity of the occupancy of the buffer while conforming to the standards of the buffer occupancy.
When such a VBR-compressed stream not involving time appointment is encoded, normally, buffer underflow is prevented by starting regeneration from the upper limit of the buffer at a start point of a sequence.
In addition, a technology is available in which when, in order to edit a compressed encoded MPEG stream, pictures in portions near an editing point (splice point) are decoded, uncompressed image signals are spliced together at the editing point, and then re-encoding is performed, the amount of overflow and the amount of underflow are calculated by referring to a locus of virtually acquired occupancies of a VBV buffer in a re-encoding range so as not to cause the buffer overflow or the buffer underflow, and an offset value of a desired amount of code is acquired by calculating a gap of the VBV buffer between the re-encoding range and a switching point of an original stream in which re-encoding is not performed to calculate and set a new desired amount of generated code (See, for example, International Publication No. WO99/05864).
In addition, a technology is available in which when editing is performed by splicing two streams together, breakdown of a buffer is prevented by imposing restrictions on the buffer occupancy in an area previous and subsequent to a splice point of the two streams (see Japanese Unexamined Patent Application Publication No. 9-331524).